package cn.xenosp.server.common.system;

import cn.xenosp.server.module.third_server.entity.NginxEntity;

import java.io.IOException;

/**
 * 项目名： nginx-web
 * 包路径： cn.xenosp.nginx.common.system
 * 作者：   TongHui
 * 创建时间: 2024-07-25 16:33
 * 描述: TODO
 * 版本: 1.0
 */
public interface TargetOperatingSystem {
    /***
     * 初始化脚本
     */

    void createScript(String serverName,String startPaht,String configPath);

    /**
     * 启动服务
     */
    boolean startServer(NginxEntity nginxEntity) throws IOException, InterruptedException, Exception;

    /**
     * 停止服务
     */
    boolean stopServer(NginxEntity nginxEntity) throws Exception;

    /**
     * 重启服务
     */
    boolean restartServer(NginxEntity nginxEntity) throws Exception;

    /**
     * 读取配置文件内容
     */
    String readConfig(String configPath);
    String readStart(NginxEntity nginxEntity) throws IOException;
    String readStop(NginxEntity nginxEntity) throws IOException;
    String readRestart(NginxEntity nginxEntity) throws IOException;

    /**
     * 写如配置文件
     */
    void writeConfig(String configPath,String content);

    void saveConfig(NginxEntity nginxEntity,String content,String type);
    /**
     * 服务是否已启动
     * @return
     */
    boolean isStartServer();

}
